package net.qiqbframework.eventsourcing;

import net.qiqbframework.eventhandling.EventMessage;

import javax.annotation.Nonnull;
import java.util.List;

import static java.util.Arrays.asList;

/**
 * 提供一种机制，用于从基础存储（如数据库）追加和检索事件。事件存储引擎还可用于存储和提取聚合快照事件
 */
public interface EventStorageEngine {

    default void appendEvents(@Nonnull EventMessage<?>... events) {
        appendEvents(asList(events));
    }

    void appendEvents(@Nonnull List<? extends EventMessage<?>> events);


}




